home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / bash / bash_108 / bash-108.zoo / bash-1.08 / machines.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-08-22  |  23.9 KB  |  950 lines

  1. /* machines.h --
  2.    Included file in the makefile that gets run through Cpp.  This file
  3.    tells which machines have what features based on the unique machine
  4.    identifier present in Cpp. */
  5.  
  6. /* **************************************************************** */
  7. /*                                                                  */
  8. /*                Global Assumptions (true for most systems).       */
  9. /*                                                                  */
  10. /* **************************************************************** */
  11.  
  12. /* We make some global assumptions here.  This can be #undef'ed in
  13.    various machine specific entries. */
  14.  
  15. /* If this file is being processed with Gcc, then the user has Gcc. */
  16. #if defined (__GNUC__)
  17. #  if !defined (HAVE_GCC)
  18. #    define HAVE_GCC
  19. #  endif /* HAVE_GCC */
  20. #endif /* __GNUC__ */
  21.  
  22. /* Assume that all machines have the getwd () system call.  We unset it
  23.    for USG systems. */
  24. #define HAVE_GETWD
  25.  
  26. /* Most (but not all) systems have a good, working version of dup2 ().
  27.    For systems that don't have the call (HP/UX), and for systems
  28.    that don't set the open-on-exec flag for the dup'ed file descriptors,
  29.    (Sequents running Dynix, Ultrix), #undef HAVE_DUP2 in the machine
  30.    description. */
  31. #define HAVE_DUP2
  32.  
  33. /* Every machine that has Gcc has alloca as a builtin in Gcc.  If you are
  34.    compiling Bash without Gcc, then you must have alloca in a library,
  35.    in your C compiler, or be able to assemble or compile the alloca source
  36.    that we ship with Bash. */
  37. #define HAVE_ALLOCA
  38.  
  39. /* We like most machines to use the GNU Malloc routines supplied in the
  40.    source code because they provide high quality error checking.  On
  41.    some machines, our malloc () cannot be used (because of library
  42.    conflicts, for example), and for those, you should specifically
  43.    #undef USE_GNU_MALLOC in the machine description. */
  44. #define USE_GNU_MALLOC
  45.  
  46. /* **************************************************************** */
  47. /*                                    */
  48. /*            Sun Miscrosystems Machines              */
  49. /*                                    */
  50. /* **************************************************************** */
  51.  
  52. #if defined (sun)
  53.  
  54. /* We aren't currently using GNU Malloc on Suns because of a bug in Sun's
  55.    YP which bites us when Sun free ()'s an already free ()'ed address.
  56.    When Sun fixes their YP, we can start using our winning malloc again. */
  57. #  undef USE_GNU_MALLOC
  58.  
  59. /* Most Sun systems have signal handler functions that are void. */
  60. #  define VOID_SIGHANDLER
  61.  
  62. #  if defined (mc68010)
  63. #    define sun2
  64. #  endif
  65. #  if defined (mc68020)
  66. #    define sun3
  67. #  endif
  68. #  if defined (sparc)
  69. #    define sun4
  70. #  endif
  71. #  if defined (i386)
  72. #    define Sun386i
  73. #    undef i386
  74. #  endif
  75. #if defined (HAVE_SHARED_LIBS)
  76. #  define M_OS SunOS4
  77. #else
  78. #  if !defined (sparc)
  79. #     undef VOID_SIGHANDLER
  80. #  endif
  81. #  define M_OS SunOS3
  82. #endif
  83. #endif /* sun */
  84.  
  85. /* ************************ */
  86. /*                */
  87. /*        Sun2        */
  88. /*                */
  89. /* ************************ */
  90. #if defined (sun2)
  91. #define M_MACHINE "sun2"
  92. #define HAVE_SIGLIST
  93. #define HAVE_SETLINEBUF
  94. #define HAVE_VPRINTF
  95. #define HAVE_MULTIPLE_GROUPS
  96. #endif /* sun2 */
  97.  
  98. /* ************************ */
  99. /*                */
  100. /*        Sun3        */
  101. /*                */
  102. /* ************************ */
  103. #if defined (sun3)
  104. #define M_MACHINE "sun3"
  105. #define HAVE_SIGLIST
  106. #define HAVE_SETLINEBUF
  107. #define HAVE_VPRINTF
  108. #define HAVE_MULTIPLE_GROUPS
  109. #endif /* sun3 */
  110.  
  111. /* ************************ */
  112. /*                */
  113. /*        Sparc        */
  114. /*                */
  115. /* ************************ */
  116. #if defined (sun4)
  117. #define M_MACHINE "sparc"
  118. #define HAVE_SIGLIST
  119. #define HAVE_SETLINEBUF
  120. #define HAVE_VPRINTF
  121. #define HAVE_MULTIPLE_GROUPS
  122. #endif /* sparc */
  123.  
  124. /* ************************ */
  125. /*                */
  126. /*        Sun386i        */
  127. /*                */
  128. /* ************************ */
  129. #if defined (Sun386i)
  130. #define M_MACHINE "Sun386i"
  131. #define HAVE_SIGLIST
  132. #define HAVE_SETLINEBUF
  133. #define HAVE_VPRINTF
  134. #define HAVE_MULTIPLE_GROUPS
  135. #endif /* Sun386i */
  136.  
  137. /* **************************************************************** */
  138. /*                                    */
  139. /*            DEC Machines (vax, decstations)           */
  140. /*                                    */
  141. /* **************************************************************** */
  142.  
  143. /* ************************ */
  144. /*                */
  145. /*        Ultrix        */
  146. /*                */
  147. /* ************************ */
  148. #if defined (ultrix)
  149. #if defined (MIPSEL)
  150. #  define M_MACHINE "MIPSEL"
  151. #  if !defined (HAVE_GCC)
  152. #    define SYSDEP_CFLAGS -Wf,-XNl3072
  153. #  endif
  154. #else
  155. #  define M_MACHINE "vax"
  156. #endif
  157. #define M_OS Ultrix
  158. #undef HAVE_DUP2
  159. #define VOID_SIGHANDLER
  160. #define HAVE_SIGLIST
  161. #define HAVE_SETLINEBUF
  162. #define HAVE_VPRINTF
  163. #define HAVE_MULTIPLE_GROUPS
  164. #endif /* ultrix */
  165.  
  166. /* ************************ */
  167. /*                */
  168. /*    VAX 4.3 BSD        */
  169. /*                */
  170. /* ************************ */
  171. #if defined (vax) && !defined (ultrix)
  172. #define M_MACHINE "vax"
  173. #define M_OS Bsd
  174. #define HAVE_SETLINEBUF
  175. #define HAVE_SIGLIST
  176. #define HAVE_MULTIPLE_GROUPS
  177. #endif /* vax && !ultrix */
  178.  
  179. /* ******************************** */
  180. /*                    */
  181. /*       MIPS RISC/os            */
  182. /*                    */
  183. /* ******************************** */
  184.  
  185. #if defined (mips) && !defined (ultrix) && !defined (sgi) && !defined (sony)
  186.  
  187. #if defined (MIPSEB)
  188. #  define M_MACHINE "MIPSEB"
  189. #else
  190. #  if defined (MIPSEL)
  191. #    define M_MACHINE "MIPSEL"
  192. #  else
  193. #    define M_MACHINE "mips"
  194. #  endif /* MIPSEL */
  195. #endif /* MIPSEB */
  196.  
  197. #define M_OS Bsd
  198. #if !defined (HAVE_GCC)
  199. #  define SYSDEP_CFLAGS -DOPENDIR_NOT_ROBUST
  200. #else
  201. #  define SYSDEP_CFLAGS -Wf,-XNl3072 -systype bsd43 -DOPENDIR_NOT_ROBUST
  202. #endif /* !HAVE_GCC */
  203. #define HAVE_SIGLIST
  204. #define HAVE_SETLINEBUF
  205. #define HAVE_VPRINTF
  206. #define HAVE_MULTIPLE_GROUPS
  207. /* This is actually present but unavailable in the BSD universe? */
  208. #undef HAVE_UNISTD_H
  209. #if !defined (HAVE_RESOURCE)
  210. #  define HAVE_RESOURCE
  211. #endif
  212. #endif /* mips */
  213.  
  214. /* ************************ */
  215. /*                */
  216. /*      Pyramid        */
  217. /*                */
  218. /* ************************ */
  219. #if defined (pyr)
  220. #define M_MACHINE "Pyramid"
  221. #define M_OS Bsd
  222. #define HAVE_SIGLIST
  223. #define HAVE_SETLINEBUF
  224. /* We do have vfprinf and varargs, but I get an syntax error at line
  225.    486 of make_cmd if I use them ?! */
  226. /* #define HAVE_VPRINTF */
  227. #define HAVE_MULTIPLE_GROUPS
  228. #endif /* pyr */
  229.  
  230. /* ************************ */
  231. /*                */
  232. /*        IBMRT        */
  233. /*                */
  234. /* ************************ */
  235. /* Notes:  Compiling with pcc seems to work better than compiling with
  236.    the hc compiler.  I had problems when compiling with hc with alloca,
  237.    even though the -ma flag was defined.  (bfox) */
  238. #if defined (ibm032)
  239. #define M_MACHINE "IBMRT"
  240. #define M_OS Bsd
  241. #define HAVE_SIGLIST
  242. #define HAVE_SETLINEBUF
  243. /* Some systems cannot find vprintf at load time. */
  244. /* #define HAVE_VPRINTF */
  245. /* Alloca requires either gcc or pcc with -ma in SYSDEP_CFLAGS. */
  246. #if !defined (HAVE_GCC)
  247. #  define SYSDEP_CFLAGS -ma
  248. #endif
  249. #define HAVE_MULTIPLE_GROUPS
  250. #endif /* ibm032 */
  251.  
  252. /* ************************ */
  253. /*                */
  254. /*        i386        */
  255. /*                */
  256. /* ************************ */
  257.  
  258. /* Sequent Symmetry running Dynix (4.2 BSD) */
  259.  
  260. #if defined (i386) && defined (sequent)
  261. #undef i386
  262. /* Need to undef sequent so the subsequent section for the Balance doesn't
  263.    catch it and redefine some build parameters */
  264. #undef sequent
  265. #define M_MACHINE "Symmetry"
  266. #define M_OS Bsd
  267. #define SYSDEP_CFLAGS -DCPCC
  268. #undef HAVE_DUP2
  269. #define HAVE_SETLINEBUF
  270. #define HAVE_SIGLIST
  271. #define HAVE_MULTIPLE_GROUPS
  272. #endif /* i386 && sequent */
  273.  
  274. /* Generic 386 clone running Mach (4.3 BSD-compatible) */
  275.  
  276. #if defined (i386) && defined (MACH)
  277. #undef i386
  278. #define M_MACHINE "i386"
  279. #define M_OS Bsd
  280. #define HAVE_SETLINEBUF
  281. #define HAVE_SIGLIST
  282. #define HAVE_MULTIPLE_GROUPS
  283. #endif /* i386 && MACH */
  284.  
  285. /* AIX/PS2 1.2 for the 386 */
  286.  
  287. #if defined (i386) && defined (aixpc)
  288. #undef i386
  289. #define M_MACHINE "i386"
  290. #define M_OS AIX
  291. #define HAVE_VPRINTF
  292. #define VOID_SIGHANDLER
  293. #define SYSDEP_CFLAGS -D_BSD
  294. #define REQUIRED_LIBRARIES -lbsd
  295. #define HAVE_MULTIPLE_GROUPS
  296. #endif /* i386 && aix */
  297.  
  298. /* System V Release 4 on the 386 */
  299.  
  300. #if defined (i386) && defined (USGr4)
  301. #undef i386
  302. #define M_MACHINE "i386"
  303. #define M_OS USG
  304. #define HAVE_SIGLIST
  305. #define HAVE_VPRINTF
  306. #define VOID_SIGHANDLER
  307. #undef HAVE_GETWD
  308. /* Alloca requires either Gcc or cc with libucb.a */
  309. #if !defined (HAVE_GCC)
  310. #  define REQUIRED_LIBRARIES -lc /usr/ucblib/libucb.a
  311. #endif /* !HAVE_GCC */
  312. #define HAVE_MULTIPLE_GROUPS
  313. #define SYSDEP_CFLAGS -DUSGr4
  314. #endif /* i386 && USGr4 */
  315.  
  316. /* 386 box running Interactive Unix 2.2? */
  317. #if defined (isc386)
  318. #undef i386
  319. #undef HAVE_ALLOCA
  320. #define M_MACHINE "isc386"
  321. #define M_OS USG
  322. #undef HAVE_GETWD
  323. #define HAVE_VPRINTF
  324. #define VOID_SIGHANDLER
  325.  
  326. /* <sys/types.h> uses mode_t, but doesn't define it unless _POSIX_SOURCE
  327.    is defined.  But when _POSIX_SOURCE is defined, <signal.h> tries to
  328.    use pid_t without including <sys/types.h>!  What a mess.
  329.  
  330.    ISC's <sys/fcntl.h> doesn't want to define O_NDELAY if __STDC__ is
  331.    defined.  Fix that, too.  */
  332. #if defined (__STDC__) || defined (HAVE_GCC)
  333. #  define SYSDEP_CFLAGS -DUSGr3 -Dmode_t="unsigned short" -DO_NDELAY=O_NONBLOCK
  334. #else
  335. #  define SYSDEP_CFLAGS -DUSGr3 -Dmode_t="unsigned short"
  336. #endif /* __STDC__ || HAVE_GCC */
  337.  
  338. /* ISC's wait.h requires lots of POSIX junk.  Forget it. */
  339. #undef HAVE_WAIT_H
  340.  
  341. /* libcposix.a contains putc, getc, fileno. */
  342. #define REQUIRED_LIBRARIES -lcposix
  343. #endif /* isc386 */
  344.  
  345. /* Assume a generic 386 running sys5r3 something */
  346.  
  347. #if defined (i386)
  348. #undef i386
  349. #define M_MACHINE "i386"
  350. #define M_OS USG
  351. #undef HAVE_GETWD
  352. #define SYSDEP_CFLAGS -DUSGr3
  353. #define HAVE_VPRINTF
  354. #define VOID_SIGHANDLER
  355. /* Alloca requires either Gcc or cc with libPW.a */
  356. #if !defined (HAVE_GCC)
  357. #  define REQUIRED_LIBRARIES -lPW
  358. #endif /* !HAVE_GCC */
  359. #endif /* i386 */
  360.  
  361. /* ************************ */
  362. /*                */
  363. /* Gould 9000 - UTX/32 R2.1A */
  364. /*                */
  365. /* ************************ */
  366. #if defined (gould)        /* maybe should be GOULD_PN ? */
  367. #define M_MACHINE "gould"
  368. #define M_OS Bsd
  369. #define HAVE_SIGLIST
  370. #define HAVE_SETLINEBUF
  371. #define HAVE_MULTIPLE_GROUPS
  372. #endif /* gould */
  373.  
  374. /* ************************ */
  375. /*                */
  376. /*        NeXT        */
  377. /*                */
  378. /* ************************ */
  379. #if defined (NeXT)
  380. #define M_MACHINE "NeXT"
  381. #define M_OS Bsd
  382. #define HAVE_VPRINTF
  383. #define HAVE_SIGLIST
  384. #define HAVE_MULTIPLE_GROUPS
  385. #define HAVE_STRERROR
  386. #undef USE_GNU_MALLOC
  387. #endif
  388.  
  389. /* ************************ */
  390. /*                */
  391. /*    hp9000 4.3 BSD        */
  392. /*                */
  393. /* ************************ */
  394. #if defined (hp9000) && !defined (hpux)
  395. #define M_MACHINE "hp9000"
  396. #define M_OS Bsd
  397. #undef HAVE_ALLOCA
  398. #define HAVE_SIGLIST
  399. #define HAVE_SETLINEBUF
  400. #define HAVE_MULTIPLE_GROUPS
  401. #endif /* hp9000 && !hpux */
  402.  
  403. /* ************************ */
  404. /*                */
  405. /*        hpux        */
  406. /*                */
  407. /* ************************ */
  408. #if defined (hpux)
  409. #define M_MACHINE "hpux"
  410.  
  411. /* This is for 6.2+ systems with job control. */
  412. #define M_OS HPUX
  413. #define REQUIRED_LIBRARIES -lBSD
  414.  
  415. /* For HP-UX 7.0, we don't need the -lBSD. */
  416. /* #undef REQUIRED_LIBRARIES */
  417.  
  418. /* For HP-UX systems before 6.2, we don't have job control. */
  419. /* #undef M_OS */
  420. /* #define M_OS USG */
  421.  
  422. #undef HAVE_DUP2
  423. #define HAVE_VPRINTF
  424. #define VOID_SIGHANDLER
  425. #define HAVE_MULTIPLE_GROUPS
  426. #define HAVE_STRERROR
  427. #endif /* hpux */
  428.  
  429. /* ************************ */
  430. /*                */
  431. /*        Xenix286        */
  432. /*                */
  433. /* ************************ */
  434. #if defined (Xenix286)
  435. #define M_MACHINE "i286"
  436. #define M_OS Xenix
  437. #undef HAVE_ALLOCA
  438. #define REQUIRED_LIBRARIES -lx
  439. #endif
  440.  
  441. /* ************************ */
  442. /*                */
  443. /*        Xenix386        */
  444. /*                */
  445. /* ************************ */
  446. #if defined (Xenix386)
  447. #define M_MACHINE "i386"
  448. #define M_OS Xenix
  449. #undef HAVE_ALLOCA
  450. #define ALLOCA_ASM x386-alloca.s
  451. #define REQUIRED_LIBRARIES -lx
  452. #endif
  453.  
  454. /* ************************ */
  455. /*                */
  456. /*        convex        */
  457. /*                */
  458. /* ************************ */
  459. #if defined (convex)
  460. #define M_MACHINE "convex"
  461. #define M_OS Bsd
  462. #undef HAVE_ALLOCA
  463. #define HAVE_SETLINEBUF
  464. #define HAVE_SIGLIST
  465. #define HAVE_MULTIPLE_GROUPS
  466. #endif /* convex */
  467.  
  468. /* ************************ */
  469. /*                */
  470. /*        Sony        */
  471. /*                */
  472. /* ************************ */
  473. #if defined (sony)
  474. #if defined (MIPSEB)
  475. #define M_MACHINE "MIPSEB"
  476. #else
  477. #define M_MACHINE "sony"
  478. #endif
  479.  
  480. #if defined (SYSTYPE_SYSV) || defined (USGr4)
  481. #  define M_OS USG
  482. #  undef HAVE_GETWD
  483. #  define HAVE_VPRINTF
  484. #  define VOID_SIGHANDLER
  485.    /* Alloca requires either Gcc or cc with libucb.a. */
  486. #  if !defined (HAVE_GCC)
  487. #    define REQUIRED_LIBRARIES -lc /usr/ucblib/libucb.a
  488. #  endif /* !HAVE_GCC */
  489. #  if defined (MIPSEB)
  490. #    if !defined (HAVE_GCC)
  491. #      define SYSDEP_CFLAGS -Wf,XNl3072 -DUSGr4
  492. #    else
  493. #      define SYSDEP_CFLAGS -DUSGr4
  494. #    endif /* HAVE_GCC */
  495. #  endif /* MIPSEB */
  496. #else
  497. #  define M_OS Bsd
  498. #endif /* SYSTYPE_SYSV */
  499. #define HAVE_SIGLIST
  500. #define HAVE_SETLINEBUF
  501. #define HAVE_MULTIPLE_GROUPS
  502. #endif /* sony */
  503.  
  504. /* ************************ */
  505. /*                */
  506. /*        AIX/RT        */
  507. /*                */
  508. /* ************************ */
  509. #if defined (aix) && !defined (aixpc)
  510. #define M_MACHINE "AIX"
  511. #define M_OS Bsd
  512. #undef HAVE_ALLOCA
  513. #define HAVE_VPRINTF
  514. #define HAVE_SIGLIST
  515. #define VOID_SIGHANDLER
  516. #define HAVE_MULTIPLE_GROUPS
  517. #endif /* AIX */
  518.  
  519. /* **************************************** */
  520. /*                        */
  521. /*        IBM RISC 6000            */
  522. /*                        */
  523. /* **************************************** */
  524. #if defined (RISC6000) || defined (_IBMR2)
  525. #define M_MACHINE "RISC6000"
  526. #define M_OS USG
  527. #undef HAVE_GETWD
  528. #undef HAVE_ALLOCA
  529. #define HAVE_SIGLIST
  530. #define HAVE_SETLINEBUF
  531. #define HAVE_VPRINTF
  532. #define VOID_SIGHANDLER
  533. #define USE_TERMCAP_EMULATION
  534. #define HAVE_MULTIPLE_GROUPS
  535. #undef USE_GNU_MALLOC
  536. #endif /* RISC6000 */
  537.  
  538. /* **************************************** */
  539. /*                        */
  540. /*    u370 IBM AIX/370            */
  541. /*                        */
  542. /* **************************************** */
  543. #if defined (u370) || defined (_AIX370)
  544. #define M_MACHINE "AIX370"
  545. #define M_OS Bsd
  546. #define REQUIRED_LIBRARIES -lbsd
  547. #define HAVE_SETLINEBUF
  548. #define HAVE_VPRINTF
  549. #define SYSDEP_CFLAGS -D_BSD
  550. #define HAVE_MULTIPLE_GROUPS
  551. #undef USE_GNU_MALLOC
  552. #endif /* u370 */
  553.  
  554. /* ************************ */
  555. /*                */
  556. /*        ATT 3B        */
  557. /*                */
  558. /* ************************ */
  559. #if defined (att3b)
  560. #define M_MACHINE "att3b"
  561. #define M_OS USG
  562. #undef HAVE_GETWD
  563. #define HAVE_SIGLIST
  564. #define HAVE_VPRINTF
  565. #define VOID_SIGHANDLER
  566. /* For an AT&T Unix before V.3 take out the -DUSGr3 */
  567. #define SYSDEP_CFLAGS -DUSGr3
  568. /* Alloca requires either Gcc or cc with libPW.a. */
  569. #if !defined (HAVE_GCC)
  570. #  define REQUIRED_LIBRARIES -lPW
  571. #endif /* !HAVE_GCC */
  572. #endif /* att3b */
  573.  
  574. /* ************************ */
  575. /*                */
  576. /*        ATT 386        */
  577. /*                */
  578. /* ************************ */
  579. #if defined (att386)
  580. #define M_MACHINE "att386"
  581. #define M_OS USG
  582. #undef HAVE_GETWD
  583. /* Alloca requires either Gcc or cc with libPW.a. */
  584. #if !defined (HAVE_GCC)
  585. #  define REQUIRED_LIBRARIES -lPW
  586. #endif /* HAVE_GCC */
  587. #define HAVE_SIGLIST
  588. #define HAVE_VPRINTF
  589. #define VOID_SIGHANDLER
  590. /* For an AT&T Unix before V.3 take out the -DUSGr3 */
  591. #define SYSDEP_CFLAGS -DUSGr3
  592. #endif /* att386 */
  593.  
  594. /* ************************ */
  595. /*                */
  596. /*        Encore        */
  597. /*                */
  598. /* ************************ */
  599. #if defined (MULTIMAX)
  600. #  if defined (n16)
  601. #    define M_MACHINE "Multimax32k"
  602. #  else
  603. #    define M_MACHINE "Multimax"
  604. #  endif /* n16 */
  605. #  if defined (UMAXV)
  606. #    define M_OS USG
  607. #    define REQUIRED_LIBRARIES -lPW
  608. #    define SYSDEP_CFLAGS -DUSGr3
  609. #    define HAVE_VPRINTF
  610. #    define USE_TERMCAP_EMULATION
  611. #    define VOID_SIGHANDLER
  612. #  else
  613. #    if defined (CMU)
  614. #      define M_OS Mach
  615. #    else
  616. #      define M_OX Bsd
  617. #    endif /* CMU */
  618. #    define HAVE_SIGLIST
  619. #    define HAVE_STRERROR
  620. #    define HAVE_SETLINEBUF
  621. #  endif /* UMAXV */
  622. #  define HAVE_MULTIPLE_GROUPS
  623. #endif  /* MULTIMAX */
  624.  
  625. /* ******************************************** */
  626. /*                        */
  627. /*   Encore Series 91 (88K BCS w Job Control)    */
  628. /*                        */
  629. /* ******************************************** */
  630. #if defined (__m88k) && defined (__UMAXV__)
  631. #define M_MACHINE "Gemini"
  632. #define M_OS USG
  633. #define REQUIRED_LIBRARIES -lPW
  634. #define USE_TERMCAP_EMULATION
  635. #define HAVE_VPRINTF
  636. #define HAVE_MULTIPLE_GROUPS
  637. #define VOID_SIGHANDLER
  638. #define SYSDEP_CFLAGS -q ext=pcc -D_POSIX_JOB_CONTROL -D_POSIX_VERSION \
  639.               -Dmalloc=_malloc -Dfree=_free -Drealloc=_realloc
  640. #endif  /* m88k */
  641.  
  642. /* ************************ */
  643. /*                */
  644. /*        clipper        */
  645. /*                */
  646. /* ************************ */
  647. /* This is for the Orion 1/05 (A BSD 4.2 box based on a Clipper processor) */
  648. #if defined (clipper)
  649. #define M_MACHINE "clipper"
  650. #define M_OS Bsd
  651. #define HAVE_SETLINEBUF
  652. #define HAVE_MULTIPLE_GROUPS
  653. #endif  /* clipper */
  654.  
  655. /* ******************************** */
  656. /*                    */
  657. /*       is68k(Omron luna)        */
  658. /*                    */
  659. /* ******************************** */
  660. #if defined (is68k)
  661. #define M_MACHINE "is68k"
  662. #define M_OS Bsd
  663. #undef HAVE_ALLOCA
  664. #define HAVE_SIGLIST
  665. #define HAVE_SETLINEBUF
  666. #define HAVE_MULTIPLE_GROUPS
  667. #endif /* is68k */
  668.  
  669. /* **************************************** */
  670. /*                        */
  671. /*        Apollo/SR10.2/BSD4.3        */
  672. /*                        */
  673. /* **************************************** */
  674. /* This is for the Apollo DN3500 running SR10.2 BSD4.3 */
  675. #if defined (apollo)
  676. #define M_MACHINE "apollo"
  677. #define M_OS Bsd
  678. #define HAVE_SIGLIST
  679. #define HAVE_SETLINEBUF
  680. #define HAVE_MULTIPLE_GROUPS
  681. #endif  /* apollo */
  682.  
  683. /* **************************************** */
  684. /*                        */
  685. /*    SGI Iris/IRIX 3.3                */
  686. /*                        */
  687. /* **************************************** */
  688. #if defined (sgi)
  689. #define M_MACHINE "sgi"
  690. #define M_OS "USG"
  691. #undef HAVE_GETWD
  692. #undef HAVE_ALLOCA
  693. #define HAVE_SIGLIST
  694. #define HAVE_SETLINEBUF
  695. #define HAVE_VPRINTF
  696. #define REQUIRED_LIBRARIES -lsun
  697. #if defined (mips)
  698. #  if !defined (HAVE_GCC)
  699. #    define SYSDEP_CFLAGS -real_frameptr -Wf,-XNl3072
  700. #  endif
  701. #endif /* mips */
  702. #define HAVE_MULTIPLE_GROUPS
  703. #define VOID_SIGHANDLER
  704. #endif  /* sgi */
  705.  
  706. /* ************************ */
  707. /*                */
  708. /*    DG AViiON        */
  709. /*                */
  710. /* ************************ */
  711. /* This is for the DG AViioN box (runs DG/UX with both AT&T & BSD features.) */
  712. #if defined (__DGUX__) || defined (DGUX)
  713. #define M_MACHINE "AViiON"
  714. #define M_OS USG
  715. #undef HAVE_GETWD
  716. /* DG/UX 4.x comes standard with gcc */
  717. #define HAVE_GCC
  718. #if !defined (DGUX)        /* Must define -DDGUX because cpp doesn't. */
  719. #  define SYSDEP_CFLAGS \
  720.     -D_M88KBCS_SOURCE -D_POSIX_SOURCE -D_POSIX_JOB_CONTROL -DDGUX
  721. #else
  722. #  define SYSDEP_CFLAGS \
  723.     -D_M88KBCS_SOURCE -D_POSIX_SOURCE -D_POSIX_JOB_CONTROL
  724. #endif /* !DGUX */
  725. #define USE_TERMCAP_EMULATION
  726. #define HAVE_MULTIPLE_GROUPS
  727. #define VOID_SIGHANDLER
  728. #undef USE_GNU_MALLOC
  729. #endif
  730.  
  731. /* ************************ */
  732. /*                */
  733. /*    Harris Night Hawk        */
  734. /*                */
  735. /* ************************ */
  736. /* This is for the Harris Night Hawk family. */
  737. #if defined (_CX_UX)
  738. #if defined (_M88K)
  739. # define M_MACHINE "nh4000"
  740. #else
  741. #  if defined (hcx)
  742. #    define M_MACHINE "nh2000"
  743. #  else
  744. #    if defined (gcx)
  745. #      define M_MACHINE "nh3000"
  746. #    endif
  747. #  endif
  748. #endif
  749. #define M_OS USG
  750. #define SYSDEP_CFLAGS -g -Xa -v -Dgetwd=bash_getwd -D_POSIX_SOURCE -D_POSIX_JOB_CONTROL
  751. #define USE_TERMCAP_EMULATION
  752. #define HAVE_VPRINTF
  753. #define HAVE_MULTIPLE_GROUPS
  754. #define VOID_SIGHANDLER
  755. #undef USE_GNU_MALLOC
  756. #undef HAVE_GETWD
  757. #endif
  758.  
  759. /* **************************************** */
  760. /*                        */
  761. /*            Tektronix                */
  762. /*                        */
  763. /* **************************************** */
  764. /* These are unproven as yet. */
  765. #if defined (Tek4132)
  766. #define M_MACHINE "Tek4132"
  767. #define M_OS Bsd
  768. #define HAVE_SIGLIST
  769. #define HAVE_SETLINEBUF
  770. #define HAVE_MULTIPLE_GROUPS
  771. #endif /* Tek4132 */
  772.  
  773. #if defined (Tek4300)
  774. #define M_MACHINE "Tek4300"
  775. #define M_OS Bsd
  776. #define HAVE_SIGLIST
  777. #define HAVE_SETLINEBUF
  778. #define HAVE_MULTIPLE_GROUPS
  779. #endif /* Tek4300 */
  780.  
  781. /* ************************ */
  782. /*                */
  783. /*     Sequent Balances     */
  784. /*       (Dynix 3.x)        */
  785. /* ************************ */
  786. #if defined (sequent)
  787. #define M_MACHINE "Sequent"
  788. #define M_OS Bsd
  789. #undef HAVE_DUP2
  790. #define HAVE_SIGLIST
  791. #define HAVE_SETLINEBUF
  792. #define HAVE_MULTIPLE_GROUPS
  793. #endif /* sequent */
  794.  
  795. /* ****************************************** */
  796. /*                          */
  797. /*    NCR Tower 32, System V Release 3          */
  798. /*                          */
  799. /* ****************************************** */
  800. #if defined (tower32)
  801. #define M_MACHINE "tower32"
  802. #define M_OS USG
  803. #if !defined (HAVE_GCC)
  804. #  define REQUIRED_LIBRARIES -lPW
  805.    /* Disable stack/frame-pointer optimization, incompatible with alloca */
  806. #  define SYSDEP_CFLAGS -DUSGr3 -W2,-aat
  807. #else
  808. #  define SYSDEP_CFLAGS -DUSGr3
  809. #endif /* !HAVE_GCC */
  810. #define HAVE_VPRINTF
  811. #define USE_TERMCAP_EMULATION
  812. #define VOID_SIGHANDLER
  813. #undef HAVE_GETWD
  814. #endif /* tower32 */
  815.  
  816. /* ************************ */
  817. /*                */
  818. /*      Stardent        */
  819. /*                */
  820. /* ************************ */
  821. #if defined (stardent)
  822. #define M_MACHINE "Stardent"
  823. #define M_OS USG
  824. #undef HAVE_GETWD
  825. #undef HAVE_ALLOCA
  826. #define HAVE_SIGLIST
  827. #define USE_TERMCAP_EMULATION
  828. #define VOID_SIGHANDLER
  829. #endif /* stardent */
  830.  
  831. /* ************************ */
  832. /*                */
  833. /*    Concurrent        */
  834. /*                */
  835. /* ************************ */
  836. #if defined (concurrent)
  837. /* Use the BSD universe (`universe ucb') */
  838. #define M_MACHINE "Concurrent"
  839. #define M_OS Bsd
  840. #define HAVE_SIGLIST
  841. #define HAVE_SETLINEBUF
  842. #define HAVE_MULTIPLE_GROUPS
  843. #endif /* concurrent */
  844.  
  845. /* ************************ */
  846. /*                */
  847. /*    Ardent Titan OS v2.2  */
  848. /*                */
  849. /* ************************ */
  850. #if defined (ardent)
  851. #define M_MACHINE "Ardent Titan"
  852. #define M_OS Bsd
  853. #define REQUIRED_LIBRARIES -43
  854. #define HAVE_SIGLIST
  855. #define HAVE_SETLINEBUF
  856. #define HAVE_MULTIPLE_GROUPS
  857. #define SYSDEP_CFLAGS -43 -w
  858. #undef HAVE_ALLOCA
  859. #undef USE_GNU_MALLOC
  860. #endif /* ardent */
  861.  
  862.  
  863. /* ************************ */
  864. /*                */
  865. /*    Cadmus (tested once)  */
  866. /*                */
  867. /* ************************ */
  868. /* Port by bfox.  I apologize to the rest of the world for Cadmus. */
  869. #if defined (cadmus) && !defined (M_MACHINE)
  870. #define M_MACHINE "cadmus"
  871. #define M_OS BrainDeath        /* By Far, the worst yet. */
  872. #define SYSDEP_CFLAGS -DUSG
  873. #define HAVE_VPRINTF
  874. #define VOID_SIGHANDLER
  875. #define USE_TERMCAP_EMULATION
  876. #undef HAVE_GETWD
  877. #undef HAVE_ALLOCA
  878. #endif  /* cadmus */
  879.  
  880. /* **************************************************************** */
  881. /*                                    */
  882. /*            Generic Entry                   */
  883. /*                                    */
  884. /* **************************************************************** */
  885.  
  886. /* Use this entry for your machine if it isn't represented here.  It
  887.    is based on a Vax running Bsd. */
  888.  
  889. #if !defined (M_MACHINE)
  890. #define UNKNOWN_MACHINE
  891. #endif
  892.  
  893. #ifdef UNKNOWN_MACHINE
  894. #define M_MACHINE "UNKNOWN_MACHINE"
  895. #define M_OS UNKNOWN_OS
  896.  
  897. /* Required libraries for building on this system. */
  898. #define REQUIRED_LIBRARIES
  899.  
  900. /* Define HAVE_SIGLIST if your system has sys_siglist[]. */
  901. #define HAVE_SIGLIST
  902.  
  903. /* Undef HAVE_ALLOCA if you are not using Gcc, and neither your library
  904.    nor compiler has a version of alloca ().  In that case, we will use
  905.    our version of alloca () in alloca.c */
  906. /* #undef HAVE_ALLOCA
  907.  
  908. /* Define USE_GNU_MALLOC if you want to use the debugging version
  909.    of malloc ().  We like this on by default. */
  910. #if !defined (USE_GNU_MALLOC)
  911. #  define USE_GNU_MALLOC
  912. #endif /* USE_GNU_MALLOC */
  913.  
  914. /* Define USE_GNU_TERMCAP if you want to use the GNU termcap library
  915.    instead of your system termcap library. */
  916. /* #define USE_GNU_TERMCAP */
  917.  
  918. /* Define HAVE_SETLINEBUF if your machine has the setlinebuf ()
  919.    stream library call.  Otherwise, setvbuf () will be used.  If
  920.    neither of them work, you can edit in your own buffer control
  921.    based upon your machines capabilities. */
  922. #define HAVE_SETLINEBUF
  923.  
  924. /* Define HAVE_VPRINTF if your machines has the vprintf () library
  925.    call.  Otherwise, printf will be used.  */
  926. #define HAVE_VPRINTF
  927.  
  928. /* Define HAVE_MULTIPLE_GROUPS if your OS allows you to be in multiple
  929.    groups simultaneously and supports the `getgroups' system call. */
  930. /* #define HAVE_MULTIPLE_GROUPS */
  931.  
  932. /* Define SYSDEP_CFLAGS to be the flags to cc that make your compiler
  933.    work.  For example, `-ma' on the RT makes alloca () work. */
  934. #define SYSDEP_CFLAGS
  935.  
  936. /* Define HAVE_STRERROR if your system supplies a definition for strerror ()
  937.    in the C library, or a macro in a header file. */
  938. /* #define HAVE_STRERROR */
  939.  
  940. /* If your system does not supply /usr/lib/libtermcap.a, but includes
  941.    the termcap routines as a part of the curses library, then define
  942.    this.  This is the case on some System V machines. */
  943. /* #define USE_TERMCAP_EMULATION */
  944.  
  945. /* Define VOID_SIGHANDLER if your system's signal () returns a pointer to
  946.    a function returning void. */
  947. /* #define VOID_SIGHANDLER */
  948.  
  949. #endif  /* UNKNOWN_MACHINE */
  950.